﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JavaDevToys.Rcl.Service
{
    public interface IDirectoryPicker
    {
        public Task<string> PickDirectoryAsync();
        /// <summary>
        /// 搜索目录下文件夹路径
        /// </summary>
        /// <param name="currentPath">根目录</param>
        /// <param name="targetFolderName">需要检索的文件夹名称</param>
        /// <param name="baseFolderName">文件夹的父级文件夹名称</param>
        /// <returns>文件夹完整路径</returns>
        public string SearchDirectory(string currentPath, string targetFolderName,string baseFolderName=null);
        /// <summary>
        /// 获取文件夹下的所有子文件夹
        /// </summary>
        /// <param name="currentPath"></param>
        /// <returns></returns>
        public List<string> GetFolderDirectories(string currentPath);
        public List<string> SearchAllDirectory(string currentPath, string targetFolderName);
        /// <summary>
        /// 搜索文件
        /// </summary>
        /// <param name="currentPath"></param>
        /// <param name="fileName"></param>
        /// <returns></returns>
        public bool SearchFile(string currentPath,string fileName,out string fileFullName);
    }
}
